package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * PayPal配置对象 paypal_config
 *
 * @author ruoyi
 * @date 2025-04-13
 */
public class PaypalConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 配置ID
     */
    private Long id;

    /**
     * PayPal账户
     */
    @Excel(name = "PayPal账户")
    private String paypalName;

    /**
     * PayPal客户端ID
     */
    @Excel(name = "PayPal客户端ID")
    private String clientId;

    /**
     * PayPal密钥
     */
    @Excel(name = "PayPal密钥")
    private String clientSecret;

    /**
     * paypal模式（1生产 0测试）
     */
    @Excel(name = "paypal模式", readConverterExp = "1=生产,0=测试")
    private String sandboxMode;

    /**
     * PayPal支付URL
     */
    @Excel(name = "PayPal支付URL")
    private String paymentUrl;

    /**
     * 回调URL
     */
    @Excel(name = "回调URL")
    private String callbackUrl;

    /**
     * 商户ID
     */
    @Excel(name = "商户ID")
    private String merchantId;

    /**
     * 状态（0正常 1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String paypalStatus;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    private String webhookUrl;

    private String webhookId;

    public String getWebhookUrl() {
        return webhookUrl;
    }

    public void setWebhookUrl(String webhookUrl) {
        this.webhookUrl = webhookUrl;
    }

    public String getWebhookId() {
        return webhookId;
    }

    public void setWebhookId(String webhookId) {
        this.webhookId = webhookId;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setPaypalName(String paypalName) {
        this.paypalName = paypalName;
    }

    public String getPaypalName() {
        return paypalName;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

    public String getClientId() {
        return clientId;
    }

    public void setClientSecret(String clientSecret) {
        this.clientSecret = clientSecret;
    }

    public String getClientSecret() {
        return clientSecret;
    }

    public void setSandboxMode(String sandboxMode) {
        this.sandboxMode = sandboxMode;
    }

    public String getSandboxMode() {
        return sandboxMode;
    }

    public void setPaymentUrl(String paymentUrl) {
        this.paymentUrl = paymentUrl;
    }

    public String getPaymentUrl() {
        return paymentUrl;
    }

    public void setCallbackUrl(String callbackUrl) {
        this.callbackUrl = callbackUrl;
    }

    public String getCallbackUrl() {
        return callbackUrl;
    }

    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantId() {
        return merchantId;
    }

    public void setPaypalStatus(String paypalStatus) {
        this.paypalStatus = paypalStatus;
    }

    public String getPaypalStatus() {
        return paypalStatus;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("paypalName", getPaypalName())
                .append("clientId", getClientId())
                .append("clientSecret", getClientSecret())
                .append("sandboxMode", getSandboxMode())
                .append("paymentUrl", getPaymentUrl())
                .append("callbackUrl", getCallbackUrl())
                .append("merchantId", getMerchantId())
                .append("paypalStatus", getPaypalStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
